/**
 * @Description:
 * @Author BPF
 * @create 2021/8/24 18:06
 */
import NProgress from 'nprogress'
import { message } from 'ant-design-vue'
import { get, call } from '~vuex-helper'

const whiteList = [
  // 白名单
  'authorization'
]

export const routerGuard = function () {
  console.log('routerGuard', this)
  // this.beforeEach(async (to, from, next) => {
  //   NProgress.start()
  //   if (whiteList.includes(to.name)) {
  //     next()
  //   } else {
  //     const accessToken_ = get('user/accessToken')
  //     const userInfo_ = get('user/info')
  //     if (accessToken_.value) {
  //       try {
  //         // 如果token存在
  //         if (userInfo_?.value?.userCode) {
  //           // 如果用户信息存在
  //           next()
  //         } else {
  //           // 用户信息不存在，重新去请求拉取用户信息
  //           const getUserInfo_ = call('user/getUserInfo')
  //           // throw new Error('错误')
  //           const data = await getUserInfo_()
  //           console.log('data', data)
  //           next({ ...to, replace: true })
  //         }
  //       } catch (e) {
  //         console.error('路由跳转错误', e)
  //         message.error('登录失败，请重新登录！')
  //         await call('user/logOut')?.()
  //       }
  //     } else {
  //       // 如果token不存在，跳转到统一登录
  //       // call('user/loginToThirdParty')?.()
  //       await call('user/logOut')?.()
  //     }
  //   }
  // })
  //
  // this.afterEach((to, from, next) => {
  //   NProgress.done()
  // })
}
